package com.trial.area.goods.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.trial.area.common.dao.BaseDao;
import com.trial.area.goods.entity.GoodsVO;
import com.trial.area.goods.param.GoodsParam;

/**
 * 商品Dao实现类
 *
 * @author 朱国军
 * @version 2016年07月17日  朱国军
 */
@Repository("goodsDao")
public class GoodsDao extends BaseDao<GoodsVO>{
    
    /**
     * 新增，注：返回的添加的条数，获取主键用entity.getId();
     *
     * @param entity 要增加的商品对象
     * @return 返回新增的条数
     */
    public Integer insert(GoodsVO entity){
    	return this.getSqlSession().insert("insertGoods", entity);
    }

	/**
     * 修改
     *
     * @param entity 要修改的商品对象
     * @return 返回修改的条数
     */
    public Integer update(GoodsVO entity){
    	return this.getSqlSession().update("updateGoodsById", entity);
    }
	
	/**
     * 根据ID获取商品实体
     *
     * @param id 主键
     * @return 商品信息
     */
    public GoodsVO findById(String id){
    	return this.getSqlSession().selectOne("selectGoodsById", id);
    }

	/**
     * 按查询条件【分页】查询
     *
     * @param param 商品查询条件
     * @return 商品列表
     */
    public List<GoodsVO> queryByPage(GoodsParam param){
    	return queryList("selectGoodsList", param);
    }

	/**
     * 根据ID删除商品
     *
     * @param id 主键
     */
    public Integer delete(String id){
        return this.getSqlSession().delete("deleteGoodsById", id);
    }
}